8. 字符串转换整数 (atoi)
8. 字符串转换整数 (atoi)
Similar Question
393. UTF-8 编码验证 - 力扣(LeetCode)
Loading Question... - 力扣(LeetCode)
Solution Tips
方案一: 模拟
var myAtoi = function(s) {
// 过滤前导空格
let index = 0;
while (s[index] === ' ') {
index++;
}
// 此时的为非空格, 确认符号
let positive = true;
if (s[index] === '-') {
positive = false;
index++;
}
else if (s[index] === '+') {
index++
}
let nums = [];
// 此时的i为第一个有效的数字
for (let i = index; i < s.length; i++) {
if (/\d/.test(s[i])) {
nums.push(s[i]);
}
else {
break;
}
}
// 截断
if (positive) {
return +nums.join('') < Math.pow(2, 31) - 1 ? +nums.join('') : Math.pow(2, 31) - 1;
}
else {
return -nums.join('') < -Math.pow(2, 31) ? -Math.pow(2, 31): -nums.join('');
}
};